Modern speech recognition systems typically include both speech layer and understanding layer processing to analyze spoken commands or queries provided by a user. Speech layer processing is used to identify words or word sequences possibly spoken by the user. The output of the speech layer processing typically includes multiple alternative word sequences that may have been spoken. Understanding layer processing is used to determine which of the multiple alternative word sequences was most likely spoken. The understanding layer processing may also be used to initiate an action or response based upon the determination of the word sequence most likely spoken. However, errors in the speech layer processing inevitably lead to errors in the understanding layer processing. Such errors can result in incorrect actions being performed or incorrect responses being given in response to user commands or queries.